<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Home extends CI_Controller {

	/**
	 * Index Page for this controller.
	 *
	 * Maps to the following URL
	 * 		http://example.com/index.php/welcome
	 *	- or -  
	 * 		http://example.com/index.php/welcome/index
	 *	- or -
	 * Since this controller is set as the default controller in 
	 * config/routes.php, it's displayed at http://example.com/
	 *
	 * So any other public methods not prefixed with an underscore will
	 * map to /index.php/welcome/<method_name>
	 * @see http://codeigniter.com/user_guide/general/urls.html
	 */

	// hiển thị d/s món ăn được chọn của ngày hôm nay
	// tên món ăn, bao nhiêu gr, ngày chọn, người chọn
	// nếu chưa có món ăn được chọn, tạo đường link cho chọn món ăn
	public function index()
	{
		//yesterday, today and tomorrow
		$list_menu_today['yesterday'] = $this->returnMenu('now - 1 day','now');
		$list_menu_today['today'] = $this->returnMenu('now','now + 1 day');
		$list_menu_today['tomorrow'] = $this->returnMenu('now + 1 day','now + 2 day');

		$str_search = array (
		"Mon",
		"Tue",
		"Wed",
		"Thu",
		"Fri",
		"Sat",
		"Sun",
		"am",
		"pm",
		":"
		);
		$str_replace = array (
		"TH&#7912; HAI",
		"TH&#7912; BA",
		"TH&#431; T&#431;",
		"TH&#7912; N&#258;M",
		"TH&#7912; S&#193;U",
		"TH&#7912; B&#7848;Y",
		"CH&#7910; NH&#7852;T",
		" ph&#250;t, s&#225;ng",
		" ph&#250;t, chi&#7873;u",
		" gi&#7901; "
		);

		$yesterday = date("D, d-m-Y", strtotime('now - 1 day'));		
		$yesterday = str_replace( $str_search, $str_replace, $yesterday); 		

		$today = date("D, d-m-Y", strtotime('now'));		
		$today = str_replace( $str_search, $str_replace, $today); 		

		$tomorrow = date("D, d-m-Y", strtotime('now + 1 day'));		
		$tomorrow = str_replace( $str_search, $str_replace, $tomorrow); 		

		$data = array(
				'title' => 'Hôm nay ăn gì ?',
				// in ngày
				'yesterday'	=> $yesterday,
				'today'		=> $today,
				'tomorrow'		=> $tomorrow,
				'menu'	=> $list_menu_today,
			);		

		$this->load->view('index',$data);
	}

	public function returnMenu($startDate = false, $endDate = false)
	{
		// lấy d/s món ăn hôm nay
		$list_menu_today = array();

		$this->load->model('Menu_today_model');
		$options = array(
				'date >'=>date('Y-m-d',strtotime($startDate)),
				'date <'=>date('Y-m-d',strtotime($endDate)),
			);
		$menu = $this->Menu_today_model->select(0,5,$options);

		// Menu, user
		$this->load->model('Menu_model');		
		$this->load->model('User_model');
		foreach ($menu as $each) 
		{
			// lấy chi tiết món ăn
			$id = $each->id;
			$menu_id = $each->menu_id;
			$food = $this->Menu_model->select(0,1,array('id'=>$menu_id));

			// lấy thông tin người đăng tin
			//$user_id = $each->user_id;
			//$user = $this->User_model->select(0,1,array('id'=>$user_id));

			foreach ($food as $f) 
			{
				$list_menu_today[$id]['food'] = array(
						'id'	=> $f->id,
						'name'	=>	$f->food,
						'picture'	=>	$f->picture,
						'howtocook'	=>	$f->howtocook,
						'spice'		=> $f->spice,
					);
				
			}

			$list_menu_today[$id]['number'] = $each->number;
			// foreach ($user as $u) 
			// {
			// 	$list_menu_today[$id]['user'] = array(
			// 			'name'	=>	$u->username,
			// 		);
			// }					
		}	

		return $list_menu_today;
	}

	// thêm món ăn vào hôm ngay, ngày mai
	public function addFoodToMenu($date_input = false)
	{
		$date = '';
		$date_title = '';

		$str_search = array (
		"Mon",
		"Tue",
		"Wed",
		"Thu",
		"Fri",
		"Sat",
		"Sun",
		"am",
		"pm",
		":"
		);
		$str_replace = array (
		"TH&#7912; HAI",
		"TH&#7912; BA",
		"TH&#431; T&#431;",
		"TH&#7912; N&#258;M",
		"TH&#7912; S&#193;U",
		"TH&#7912; B&#7848;Y",
		"CH&#7910; NH&#7852;T",
		" ph&#250;t, s&#225;ng",
		" ph&#250;t, chi&#7873;u",
		" gi&#7901; "
		);


		switch ($date_input) 
		{
			case 'today':
				$date = date('Y-m-d H:i:s',strtotime('now'));
				$date_title = date("D, d-m-Y", strtotime('now'));		
				$date_title = str_replace( $str_search, $str_replace, $date_title);
				break;
			
			case 'tomorrow':
				$date = date('Y-m-d H:i:s',strtotime('now + 1 day')); 
				$date_title = date("D, d-m-Y", strtotime('now + 1 day'));		
				$date_title = str_replace( $str_search, $str_replace, $date_title);
				break;
			default:
				# code...
				break;
		}

		$this->load->model('Menu_today_model');


		$isAdded = $this->input->post('add');
		if( $isAdded )
		{
			$data = array(
					'menu_id' => $this->input->post('menu'),
					'user'	  => $this->input->post('user'),
					'number'	  => $this->input->post('number'),
					'date'    => $date,
				);
			$this->Menu_today_model->insert($data);
			redirect('home/index','refresh');
		}
		else
		{
			$this->load->model('Menu_model');
			$result = $this->Menu_model->select(0,1000);
			$menu = array();
			foreach ($result as $r) 
			{
				$menu[$r->id] = $r->food;
			}

			$data = array(
					'title' => 'Thêm món ăn vào thực đơn',
					'date_title' => $date_title,
					'menu' => $menu,
					'time' => $date_input,
				);

			$this->load->view('addFoodToMenu',$data);
		}
	}

	// xem món ăn 

	// xóa món ăn trong menu
	public function deleteFoodInMenu( $id = false )
	{
		$this->load->model('Menu_today_model');

		if( $id )
		{
			$this->Menu_today_model->delete(array('name'=>'id','value'=>$id));
			redirect('home/index','refresh');
		}
	}

	// thêm món ăn mới
	public function newFood()
	{		
		$insertFood = $this->input->post('insertFood');

		if( $insertFood )
		{
			$data = array(
					'food'	=>	$this->input->post('food'),					
					'howtocook'	=>	$this->input->post('howtocook'),
					'spice'	=>	$this->input->post('spice'),
				);

			$upload_rs = $this->do_upload('picture');

			if( isset($upload_rs['error']) )
			{
				echo ($upload_rs['error']);
				die();

				// trở về trang tạo món mới
				$data['title'] = 'Tạo món mới';
				redirect('home/newFood',$data);
			}
			else 
			{
				$data['picture'] = $upload_rs['upload_data']['file_name'];
			}

			$this->load->model('Menu_model');
			$this->Menu_model->insert($data);
			redirect('home/menu',$data);
		}		
		else
		{
			$data['title'] = 'Tạo món mới';
			$this->load->view('new_food',$data);
		}
	}

	public function menu($id = false)
	{
		// hiển thị d/s món ăn
		$this->load->model('Menu_model');

		if( $id )
		{
			$menu_detail = array();
			$result = $this->Menu_model->select(0,1,array('id'=>$id));
			foreach( $result as $r )
			{
				$menu_detail[$r->id] = array(
						'food'	=>	$r->food,
						'picture'	=>	$r->picture,
						'howtocook'	=>	$r->howtocook,
						'spice'	=>	$r->spice,
					);
			}
			$data = array(
					'title' => 'Chi tiết món ăn',
					'menu_detail'=>$menu_detail,
					'id'	=> $id,
				);
			$this->load->view('menu_detail',$data);
		}
		else
		{
			$result = $this->Menu_model->select(0,1000);

			$menu = array();
			foreach ($result as $r) 
			{
				$menu[$r->id] = array(
						'food'	=>	$r->food,
						'picture'	=>	$r->picture,
						'howtocook'	=>	$r->howtocook,
						'spice'	=>	$r->spice,
					);
			}		

			$data = array(
					'title' => 'Danh sách món ăn',
					'menu'=>$menu
				);
			$this->load->view('menu',$data);
		}
		
	}



	// function up hình
	function do_upload($file_name = false)
	{
		$config['upload_path'] = './uploads/';
		$config['allowed_types'] = 'gif|jpg|png';
		$config['max_size']	= '100000';
		$config['max_width']  = '10240';
		$config['max_height']  = '7680';

		$this->load->library('upload', $config);

		if ( ! $this->upload->do_upload($file_name))
		{
			$error = array('error' => $this->upload->display_errors());

			return $error;
		}
		else
		{
			$data = array('upload_data' => $this->upload->data());

			return $data;
		}
	}


}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */